Services that are booked or used via the Internet are constantly increasing. The Internet enables one to use several on-line services such as services connected to banks, health services, travel agencies, vehicle maintenance, and so on.
The increasing popularity of mobile computing and communications devices introduce new challenges to services on the Internet. Mobile terminals are able to deliver information to users when needed and where needed. Users want ubiquitous access to information and applications from the device at hand. They also want to access and update this information wherever they happen to be.
It is important to notice, however, that not all the terminals will be mobile. Future services must be able to communicate with a large variety of terminal devices, both those that are mobile and those that are not. Different terminal devices have very different capabilities.
The interoperability of different services and terminal devices requires standards on several levels. It is not enough to have, say, common communication protocols. It would be very important to share common concepts and understanding what a certain piece of data means in a certain context. However, it has been very difficult to agree on those issues, as there exist an enormous number of companies, organizations, and other actors in the field.
Many services must be able to manage bookings. They include for example booking appointments for health services; booking travel reservations for hotels, airlines, and rental cars; booking tickets for venues; booking appointments for vehicle maintenance; booking maintenance for apartments; and so on. It would be very useful, if those services could get information from one another. For example, if a customer is booking tickets for a concert, he or she might want to book a table in a restaurant also. It helps, if the restaurant's booking service gets basic information, like date and customer's name from the theater's booking system. Unfortunately, there have not been methods to exchange information between different kinds of booking systems.
There are many methods to exchange information between services. Speaking of services that include booking or calendar functions, information exchange often takes place as synchronizing booking or calendar entries. For that purpose, several important standardization efforts are going on. For example, SyncML is an industry initiative to develop and promote a single, common data synchronization protocol.
vCalendar is an exchange format for personal scheduling information. It is applicable to a wide variety of calendaring and scheduling products and is useful in exchanging information across a broad range of transport methods. A number of vendors have adopted the specification because it allows their products to exchange calendaring and scheduling information. vCalendar is an open specification based on industry standards such as the x/Open and XAPIA Calendaring and Scheduling API (CSA), the ISO 8601 international date and time standard and the related MIME email standards. The vCalendar format utilizes data normally stored within a calendaring and scheduling application, facilitating the cross platform exchange of information about items such as events and to-do's. An event is a calendaring and scheduling entity that represents a designated amount of time on a calendar. A to-do is a calendaring and scheduling entity that represents an action item or assignment. For instance, it may be an item of work assigned to an individual.
vCard automates the exchange of personal information typically found on a traditional business card. vCard is used in applications such as Internet mail, voice mail, Web browsers, telephony applications, call centers, video conferencing, PIMs (Personal Information Managers), PDAs (Personal Data Assistants), pagers, fax, office equipment, and smart cards. In addition to text, vCard information may include elements like pictures, company logos, live Web addresses, and so on.
As these examples show, there have been lots of efforts to build systems that can synchronize booking systems. A common problem with all of these existing solutions is that they do not provide common semantics for different systems. For example, if an entry is tentative, different systems may interpret it in different ways. Another problem is that booking systems have multiple different and usually quite complex user interfaces. If a customer wants to both make an appointment with a dentist and book a taxi to take him or her there, the customer needs to enter all the booking information to both booking systems in different ways.
One more problem is that it becomes challenging to manage client replies, if a client has been given a number of questions. For example, it makes sense to use SMS text messages to ask client which option he or she chooses, because in many countries, like in Finland, it is very common to communicate with SMS text messages and they create revenues to operators. However, if a client replies to several inquires by sending a number of text messages, it can be troublesome to find out, which answer corresponds to a certain question because the reply does not automatically include a reference to the question. Say, a service asks a client if he or she wants to reserve—in addition to a flight ticket—also a taxi and a hotel room, and the client replies “yes” to one question but “no” to the other, the service does not necessarily know which offer the client has accepted.